# Author: Ziyin
# week_08
# 商品的数据信息
import time
goods_list = [["phone",8000],["noodles",50],["rice",100],["fruits",30]]
user_shopping_list = [630,516,1118]
# while True:
# 用户输入 使用input，input的使用，结果是一个字符串
balance = int(input("请输入您的支付宝余额："))
# info = '''------- goods detail-------
# 编号0，商品名称: %s,商品的价格: %s 元
# 编号1，商品名称: %s,商品的价格: %s 元
# 编号2，商品名称: %s,商品的价格: %s 元
# 编号3，商品名称: %s,商品的价格: %s 元
# '''%(good_list[0][0],good_list[0][1],
#     good_list[1][0],good_list[1][1],
#     good_list[2][0],good_list[2][1],
#     good_list[3][0],good_list[3][1],
#      )
# print(info)
# for循环的优势，节省重复代码的书写
# 循环遍历商品列表，将商品信息按照一定格式输出
# 一定格式： 商品编号：xx， 商品名称：信息， 商品价格：xx
while True:
    print("------- goods detail-------")
    for i in range(len(goods_list)):  # range会根据商品列表的长度变化而变化
        print("商品编号：%s，商品名称: %s,商品的价格: %s 元" %(i,goods_list[i][0],goods_list[i][1]))
    # 让用户输入商品编号进行商品的购买
    # 1. 用户输入的内容是否符合规范（用户买的东西有没有） 【判断编号是否存在】

    # 思考：用户除了输入数值外，有没有可能输入不是数值
    num = input("请输入想要购买商品的正确编号: ")
    if num.isdigit(): # isdigit判断字符串里面的内容是否是数值
        num = int(num)
    # a. 如果没有该商品，返回没有
        if num > len(goods_list):
            print("您选择的商品不存在")
    # b. 如果有。存在，判断余额是否足够；用户金额balance 商品金额goods_list[num][1]
        else:
            if balance > goods_list[num][1]:
            # 用户余额够1，增加该商品到用户购物车 2.扣除余额
                user_shopping_list.append(goods_list[num])
                balance = balance - goods_list[num][1]
                print("【%s】已经加入您的购物车，您的【账户余额】还有：%s 元"%(goods_list[num][0],balance))
                time.sleep(2)
    elif num == "q":
        # 用户退出购买
        print("用户购物车：", user_shopping_list)
        print("您的余额还有：", balance)
        break
    else:
        print("请输入商品编号！！！")
    # if num.isdigit(): # isdigit判断字符串里面的内容是否是数值
    num = int(num)
    if num < len(goods_list):
        if goods_list[num][1] < balance:
          #  余额足够，用户余额 - 商品价格
            balance = balance - goods_list[num][1]
            user_shopping_list.append(goods_list[num])
            print("您的商品购买成功，您的余额还有%s"%(balance))
        else:
            print("您的余额不足，请选择其他商品")
            time.sleep(2)
    else:
        print("您输入的商品编号有误")